package neuron.library.ga.replication;

import neuron.library.ga.AbstractGeneticMachine;
import neuron.library.ga.common.Population;

/*
 * Base interface for replication strategies.
 */
public abstract class ReplicationStrategy {
	/*
	 * Instance of AbstractGeneticMachine.
	 */
    protected AbstractGeneticMachine gm;
    
    /*
     * ReplicationStrategy constructor.
     */
    public ReplicationStrategy(AbstractGeneticMachine gm) {
    	this.gm = gm;
    }
    
    /*
     * Describe which chromosome will be replicated.
	 * Will be realized in child strategies.
	 */
    public abstract void replication(Population population);
}
